home *** CD-ROM | disk | FTP | other *** search
/ Gekikoh Dennoh Club 5 / Gekikoh Dennoh Club Vol. 5 (Japan).7z / Gekikoh Dennoh Club Vol. 5 (Japan) (Track 01).bin / games / kenka / kenka2s.lzh / human_c.inc < prev    next >
Encoding:
Text File  |  1998-09-07  |  7.5 KB  |  336 lines

  1. *---------------------------------------
  2. *
  3. *    âvâîâCâäü[æÇì∞
  4. *
  5. *    by Shiroh Nakaya
  6. *
  7. *---------------------------------------
  8.  
  9. *---------------------------------------
  10. *    ê┌ô«
  11. *
  12. * ê°Éö
  13. *     é`éPüüÄ⌐âLâââëâfü[â^ɵô¬âAâhâîâX
  14. *     é`éQüüæèÄΦâLâââëâfü[â^ɵô¬âAâhâîâX
  15. *     é`éRüüâXâeâBâbâNôⁿù═ö╗ÆΦâïü[â`âô
  16. *     é`éUüüë╝æzâXâNâìü[âïâîâWâXâ^î╗ì▌Æl
  17. *     écéVüüéoébéfâZâOâüâôâgâfü[â^
  18. *
  19. H_CTRL    .macro
  20.     jsr    (a3)                * âWâçâCâXâeâBâbâNÅ≤æ╘é≡écéOé╔ĵô╛
  21.     move.b    d0,d6                * âXâeâBâbâNîƒì╕é╠ê╫ò█æ╢
  22.  
  23.     cmpi.w    #2,C_M_F(a1)            * é╠é»é╝éΦÆåüAâKü[âhÆå
  24.     bge    2f                * üiÆ┤üjòKÄEïZÆåé═âgâèâKæÇì∞é≡Ä≤é»òté»é╚éó
  25.     cmpi.w    #1,C_AM_F(a1)            * ïZé╠Åoì█é╞âtâHâìü[âXâïü[Æåéαô»é╢é¡
  26.     bne    2f
  27.  
  28.     btst    #6,d0
  29.     bne    1f
  30.     tst.w    C_B_JOY(a1)            * æOë±âïü[âvé⌐éτâgâèâKé¬ëƒé│éΩé╜é▄é▄é╚éτé╬
  31.     bne    2f                * ìUîéèJÄnÅêù¥é╡é╚éó
  32.     move.w    #1,C_B_JOY(a1)            * âgâèâKÅ≤æ╘ò█æ╢
  33.     lea.l    CHARA_DATA(a1),a3
  34.     clr.w    C_M_F(a3)            * é▒é┐éτé╠ìUîéö╗ÆΦé≡ï¡ÉºôIé╔Å┴é╖
  35.     cmpi.w    #63,C_K(a1)            * æ╠ù═é¬éUéRê╚ë║é╚éτÆ┤òKÄEïZö¡ô«ë┬
  36.     bhi    @f
  37.     btst    #5,d0                * é`éaô»Ä₧ëƒé╡é┼Æ┤òKÄEïZö¡ô«
  38.     bne    @f                * éPü^éUéOòbé╠îδì╖éαïûé│é╚éóé╠é═âLâcâCé⌐
  39.     move.w    C_SSA_F(a1),C_M_F(a1)
  40.     clr.w    C_ANI_WC(a1)
  41.     clr.w    C_CNT(a1)
  42.     move.w    #4,C_AK_F(a1)
  43.     clr.w    C_AM_F(a1)
  44.     move.l    C_A_DT(a1),C_A_D(a1)        * âéü[âVâçâôâfü[â^ĵô╛
  45.     addi.l    #24,C_A_D(a1)
  46.  
  47.     V_WAIT
  48.     move.b    #$60,$00e82601            * ëµû╩ê├ô]üiâOâëâtâBâbâNénéeéeüj
  49.  
  50.     move.b    #1,$00e92001            * é`écéoébélÆΓÄ~
  51.     move.b    #$20,$e840c7            * écélé`ébô«ì∞ÆåÆfüiÉ╝É∞æPÄiÄüé╠Æmîbüj
  52. 4:
  53.     tst.b    OPM_DATA
  54.     bmi    4b
  55.     move.b    #$1b,OPM_REG_NO            * âNâìâbâNÉ▌ÆΦ
  56.     bclr    #7,OPM_DATA
  57.     move.b    #$08,$00e9a005            * âTâôâvâèâôâOâîü[âgÉ▌ÆΦ
  58.     move.b    #$80,$00e840c4            * écélé`ébÉ▌ÆΦ
  59.     move.b    #$04,$00e840c6
  60.     move.b    #$05,$00e840e9
  61.     move.b    #$01,$00e840ed
  62.     move.b    #$05,$00e840f1
  63.     move.b    #$72,$00e840c5
  64.     st    $00e840c0
  65.     move.l    #adpcm_data+KO,$00e840cc    * ô]æùî│âAâhâîâX
  66.     move.l    #$00e92003,$00e840d4        * ô]æùɵâAâhâîâXü@é╖é╚éφé┐é`écéoébél
  67.     move.w    #2880,$00e840ca            * ô]æùâTâCâY
  68.     move.b    #$88,$00e840c7            * ô]æùèJÄn
  69.     move.b    #2,$00e92001            * é`écéoébélö¡É║èJÄn
  70.  
  71.     move.w    #20-1,d0
  72. 4:
  73.     V_WAIT
  74.     dbra    d0,4b
  75.  
  76.     move.b    #$6f,$00e82601            * ëµû╩é≡û▀é╖üiâOâëâtâBâbâNénémüj
  77.  
  78.     movea.l    C_PCM_D(a1),a4            * é`écéoébélö¡ë╣ùvïü
  79.     lea.l    40(a4),a4
  80.     tst.l    (a4)
  81.     beq    2f
  82.     tst.l    go_adpcm
  83.     beq    3f
  84.     movea.l    go_adpcm,a3
  85.     move.w    PCM_P(a4),d0
  86.     cmp.w    PCM_P(a3),d0
  87.     blt    2f
  88. 3:
  89.     move.l    a4,go_adpcm
  90.  
  91.     bra    2f
  92. @@:
  93.     eori.b    #$ff,d0                * âîâoü[æÇì∞é┼ïZé≡æIæ≡
  94.     move.w    d0,d2                * òKÄEïZÅêù¥é╠ê╫é╔ò█æ╢
  95.     andi.w    #$03,d0                * âCâôâfâbâNâXé╔òsòKùvé╚âfü[â^é≡ìφÅ£
  96.     bne    @f                * Åcò√îⁿôⁿù═é≡ùDɵ
  97.     lsr.w    #2,d2                * âîâoü[æOôⁿéΩü{éaé┼òKÄEïZ
  98.     andi.w    #$03,d2
  99.     beq    @f                * ëíò√îⁿôⁿù═û│é╡é╠ÅΩìçé═òüÆ╩é╔ìUîé
  100.     subq.w    #1,d2                * éPî╕ÄZé┼ì╢ëEîⁿé½âtâëâOé╞ïté╚éτé╬
  101.     cmp.w    C_LR_F(a1),d2            * âîâoü[æOôⁿéΩé╔é╚éΘ
  102.     beq    @f
  103.     move.w    C_SA_F(a1),C_M_F(a1)
  104.     clr.w    C_ANI_WC(a1)
  105.     clr.w    C_CNT(a1)
  106.     move.w    #3,C_AK_F(a1)
  107.     clr.w    C_AM_F(a1)            * ô«ì∞Æåé╔ìUîéé≡ÉHéτéªé╬âJâEâôâ^ü[
  108.     move.l    C_A_DT(a1),C_A_D(a1)        * âéü[âVâçâôâfü[â^ĵô╛
  109.     addi.l    #18,C_A_D(a1)
  110.     movea.l    C_PCM_D(a1),a4            * é`écéoébélö¡ë╣ùvïü
  111.     lea.l    30(a4),a4
  112.     tst.l    (a4)
  113.     beq    2f
  114.     tst.l    go_adpcm
  115.     beq    3f
  116.     movea.l    go_adpcm,a3
  117.     move.w    PCM_P(a4),d0
  118.     cmp.w    PCM_P(a3),d0
  119.     blt    2f
  120. 3:
  121.     move.l    a4,go_adpcm
  122.     bra    2f
  123. @@:
  124.     movea.l    C_A_DT(a1),a0            * âéü[âVâçâôâfü[â^é≡ĵô╛
  125.     move.w    d0,d1
  126.     beq    @f
  127.     add.w    d0,d0                * écéPé≡ï]É╡é╔é╡é─écéOé≡éUö{
  128.     add.w    d1,d0                * é╞é═éóéªécéPé═îπé┼âfü[â^âZâbâgé╔ùpéóéΘ
  129.     add.w    d0,d0
  130.     adda.w    d0,a0
  131. @@:
  132.     move.l    a0,C_A_D(a1)            * èeÄφâfü[â^âZâbâg
  133.     move.w    #1,C_M_F(a1)
  134.     clr.w    C_ANI_WC(a1)
  135.     clr.w    C_AM_F(a1)
  136.     move.w    d1,C_AK_F(a1)
  137.  
  138.     movea.l    C_PCM_D(a1),a4            * é`écéoébélö¡ë╣ùvïü
  139.     move.w    d1,d0                * écéOé≡éPéOö{
  140.     lsl.w    #3,d0
  141.     add.w    d1,d1
  142.     add.w    d1,d0
  143.     adda.w    d0,a4
  144.     tst.l    (a4)
  145.     beq    2f
  146.     tst.l    go_adpcm
  147.     beq    @f
  148.     movea.l    go_adpcm,a3
  149.     move.w    PCM_P(a4),d0
  150.     cmp.w    PCM_P(a3),d0
  151.     blt    2f
  152. @@:
  153.     move.l    a4,go_adpcm
  154.     bra    2f
  155. 1:
  156.     clr.w    C_B_JOY(a1)
  157. 2:
  158.     move.w    C_M_F(a1),d0            * ô«ì∞âtâëâOé╔éµéΦèeìsô«é╓
  159.     add.w    d0,d0
  160.     add.w    d0,d0
  161.     lea.l    flag_bra(pc),a0
  162.     movea.l    0(a0,d0.w),a0
  163.     jsr    (a0)
  164.     movea.l    C_PCG_D(a1),a0
  165.     jsr    (a0)                * âXâvâëâCâgôoÿ^
  166.  
  167.     movea.l    a1,a3                * ìUîéö╗ÆΦÅêù¥
  168.     lea.l    CHARA_DATA(a1),a1
  169.     tst.w    C_M_F(a1)
  170.     beq    3f
  171.     HIT_C                    * ôûé╜éΦö╗ÆΦ
  172.     beq    3f
  173.  
  174.     cmpi.w    #6,C_M_F(a2)            * æèÄΦé¬é│é╬é½é≡é╡é─éóé╜éτ
  175.     bne    1f                * ìUîéö╗ÆΦé¬Å┴é│éΩéΘ
  176.     movea.l    C_A_D(a2),a0
  177.     move.w    (a0),d0
  178.     cmp.w    C_CNT(a2),d0            * é│é╬é½Ä≤é»òté»Ä₧è╘
  179.     blt    1f
  180.     clr.w    C_M_F(a1)
  181.     clr.w    C_M_F(a2)            * ìUîéé≡é│é╬é⌐éΩé╜Ä₧ô_é┼æèÄΦé═æªìsô«ë┬ö\
  182.     clr.w    C_CNT(a2)
  183.     move.w    #1,C_AM_F(a2)
  184.  
  185.     movea.l    C_PCM_D(a2),a4            * é`écéoébélö¡ë╣ùvïü
  186.     lea.l    130(a4),a4
  187.     tst.l    go_adpcm
  188.     beq    2f
  189.     movea.l    go_adpcm,a3
  190.     move.w    PCM_P(a4),d0
  191.     cmp.w    PCM_P(a3),d0
  192.     blt    3f
  193. 2:
  194.     move.l    a4,go_adpcm
  195.     bra    3f
  196. 1:
  197.     cmpi.w    #2,C_M_F(a1)            * âKü[âhòsö\ïZé╛é┴é╜ÅΩìçé═ùLû│é≡
  198.     bne    @f                * éóéφé│é╕âqâbâg
  199.     move.w    #4,C_HIT_C(a2)            * é┬éóé┼é╔Éüé½ö≥é╘
  200.     bra    1f
  201. @@:
  202.     cmpi.w    #4,C_M_F(a2)            * âKü[âhé│éΩé╜Ä₧é╠Åêù¥
  203.     bne    1f
  204.     move.w    C_LR_F(a2),d0            * öwîπé⌐éτé╠ìUîéé═âKü[âhòsë┬
  205.     cmp.w    C_LR_F(a3),d0
  206.     bne    @f
  207.     bra    1f
  208. @@:
  209.     move.w    C_CNT(a1),C_CNT(a2)        * ö╜ô«Ä₧è╘
  210.     subq.w    #1,C_K(a2)            * âKü[âhé╡é─éαéPâhâbâgé╠âPâYâè
  211.     bpl    2f
  212.     move.w    #2,C_M_F(a2)
  213.     move.w    #60,C_CNT(a2)
  214.     movea.l    C_PCM_D(a2),a4            * éjénÄ₧é`écéoébélö¡ë╣ùvïü
  215.     lea.l    150(a4),a4            * move.l 90(a4),go_adpcméµéΦé▒é┴é┐
  216.     move.l    a4,go_adpcm            * é╠ò√é¬æ¼éó
  217. 2:
  218.     clr.w    C_M_F(a1)
  219.     lea.l    ETC_DATA(a1),a1            * âPâYâèâ}ü[âNôoÅΩ
  220.     move.w    C_X(a2),C_X(a1)
  221.     move.w    C_Y(a2),C_Y(a1)
  222.     move.w    #2,C_M_F(a1)
  223.     clr.w    C_ANI_WC(a1)
  224.     clr.w    C_CNT(a1)
  225.     bra    3f
  226.  
  227. 1:
  228.     move.w    #2,C_M_F(a2)            * æèÄΦé≡é╠é»é╝éτé╣éΘ
  229.     addq.w    #1,C_HIT_C(a2)
  230.     move.w    C_HIT_F(a1),C_HIT_F(a2)
  231.     clr.w    C_M_F(a1)
  232.     move.w    C_CNT(a1),d0            * é╠é»é╝é┴é─éóéΘÄ₧è╘
  233.     move.w    C_K(a1),d1
  234.     tst.w    C_AM_F(a2)
  235.     bne    1f                * âJâEâôâ^ü[é┼ôûé╜é┴é╜é╚éτ
  236.     asr.w    #1,d1                * â_âüü[âWéPüDéTö{üI
  237.     add.w    C_K(a1),d1
  238.     add.w    d0,d0                * é╠é»é╝éΦÄ₧è╘é═éQö{üI
  239. 1:
  240.     sub.w    d1,C_K(a2)            * æèÄΦé╠æ╠ù═é≡î╕éτé╖
  241.     bpl    1f
  242.     move.w    #60,C_CNT(a2)
  243.     movea.l    C_PCM_D(a2),a4            * éjénÄ₧é`écéoébélö¡ë╣ùvïü
  244.     lea.l    150(a4),a4            * move.l 90(a4),go_adpcméµéΦé▒é┴é┐
  245.     move.l    a4,go_adpcm            * é╠ò√é¬æ¼éó
  246.     bra    2f
  247. 1:
  248.     move.w    d0,C_CNT(a2)
  249. 2:
  250.     clr.w    C_ANI_WC(a2)
  251.     lea.l    ETC_DATA(a1),a1            * âqâbâgâ}ü[âNôoÅΩüI
  252.     move.w    C_X(a2),C_X(a1)
  253.     move.w    C_Y(a2),C_Y(a1)
  254.     move.w    #1,C_M_F(a1)
  255.     clr.w    C_ANI_WC(a1)
  256.     clr.w    C_CNT(a1)
  257.  
  258.     movea.l    C_PCM_D(a3),a4            * é`écéoébélö¡ë╣ùvïü
  259.     lea.l    100(a4),a4
  260.     move.w    C_AK_F(a3),d0
  261.     move.w    d0,d1                * écéOé≡éPéOö{
  262.     lsl.w    #3,d0
  263.     add.w    d1,d1
  264.     add.w    d1,d0
  265.     adda.w    d0,a4
  266.     tst.l    (a4)
  267.     beq    3f
  268.     tst.l    go_adpcm
  269.     beq    2f
  270.     movea.l    go_adpcm,a1
  271.     move.w    PCM_P(a4),d0
  272.     cmp.w    PCM_P(a1),d0
  273.     blt    3f
  274. 2:
  275.     move.l    a4,go_adpcm
  276. 3:
  277.     .endm
  278. *---------------------------------------
  279. *    âqâbâgâ}ü[âNò\Ī
  280. *
  281. * ê°Éö
  282. *     é`éPüüÄ⌐âLâââëâfü[â^ɵô¬âAâhâîâX
  283. *     é`éUüüë╝æzâXâNâìü[âïâîâWâXâ^î╗ì▌Æl
  284. *     écéVüüéoébéfâZâOâüâôâgâfü[â^
  285. *
  286. H_DISP    .macro
  287.     addq.w    #1,C_ANI_WC(a1)
  288.     andi.w    #$0003,C_ANI_WC(a1)        * éPâRâ}éSü^éUéOòb
  289.     bne    1f
  290.     addq.w    #1,C_CNT(a1)
  291.     andi.w    #$0003,C_CNT(a1)
  292.     bne    1f
  293.     clr.w    C_M_F(a1)
  294.     bra    @f
  295. 1:
  296.     move.w    C_X(a1),d1
  297.     subq.w    #8,d1
  298.     move.w    C_Y(a1),d2
  299.     subq.w    #8,d2
  300.     cmpi.w    #2,C_M_F(a1)
  301.     beq    1f
  302.     add.w    C_CNT(a1),d7
  303. 1:
  304.     move.w    d1,(a6)+            * ë╝æzâXâNâìü[âïâîâWâXâ^é╓ôoÿ^
  305.     move.w    d2,(a6)+
  306.     move.w    d7,(a6)+
  307.     move.w    #$0003,(a6)+
  308. @@:
  309.     .endm
  310. *---------------------------------------
  311. *    æ╠ù═ò\Ī
  312. *
  313. * ê°Éö
  314. *     é`éPüüÄ⌐âLâââëâfü[â^ɵô¬âAâhâîâX
  315. *    é`éQüüæ╬ë₧é╖éΘâLâââëâfü[â^ɵô¬âAâhâîâX
  316. *     é`éUüüë╝æzâXâNâìü[âïâîâWâXâ^î╗ì▌Æl
  317. *    écéPüüò\Īéwì└òW
  318. *     écéVüüéoébéfâfü[â^
  319. *
  320. VI_DISP    .macro
  321.     move.w    C_Y(a1),d2
  322.     cmp.w    C_K(a2),d2
  323.     beq    @f
  324.     subq.w    #1,d2
  325.     bpl    @f
  326.     clr.w    d2
  327. @@:
  328.     move.w    d2,C_Y(a1)
  329.     addi.w    #16,d2
  330.     move.w    d1,(a6)+            * ë╝æzâXâNâìü[âïâîâWâXâ^é╓ôoÿ^
  331.     move.w    d2,(a6)+
  332.     move.w    d7,(a6)+
  333.     move.w    #$0003,(a6)+
  334.     .endm
  335. *---------------------------------------
  336.